package com.qf.face;

import com.qf.face.client.ui.FaceDetectionHub;
import org.opencv.core.Core;

import java.lang.reflect.Field;

/**
 * @author 30909
 * 前端程序的入口
 */
public class MainClient {
    public static void main(String[] args) {
        addDirToPath("C:\\opencv");
        //2.装载里面的类库
        System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
        FaceDetectionHub.start();

        FaceDetectionHub.showCamera(true);
    }



    /**
     * 临时给jvm 添加环境变量，获取path对象
     */
    private static void addDirToPath(String path) {

        try {
            //反射classloader 里面的sys_paths
            Field field = ClassLoader.class.getDeclaredField("sys_paths");
            //修改这个成员
            field.setAccessible(true);
            //获取此变量的值
            String[] paths = (String[]) field.get(null);
            //创建一个数组比 paths 多以元素
            String[] temp = new String[paths.length + 1];
            //数组拷贝
     //       System.arraycopy(paths, 0, temp, 0, path.length());
            System.arraycopy(paths, 0, temp, 0, paths.length);
            temp[temp.length - 1] = path;
            //设置 classloader 里面的 sys_pahts 成员
            field.set(null, temp);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
